<?xml version="1.0"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Define a Csla SmartDate Property</Title>
      <Author>Rockford Lhotka</Author>
      <Description>Defines a Csla-style Property with a SmartDate backing field.</Description>
      <Shortcut>cslapropdt</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>ClassName</ID>
          <Type>String</Type>
          <ToolTip>Replace with class name.</ToolTip>
          <Default>BusinessClass</Default>
        </Literal>
        <Literal>
          <ID>FriendlyName</ID>
          <Type>String</Type>
          <ToolTip>Replace with friendly property name.</ToolTip>
          <Default>Name</Default>
        </Literal>
        <Literal>
          <ID>PropertyName</ID>
          <Type>String</Type>
          <ToolTip>Replace with property name.</ToolTip>
          <Default>Name</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp" Kind="method decl">
        <![CDATA[public static readonly PropertyInfo<SmartDate> $PropertyName$Property = RegisterProperty<SmartDate>(c => c.$PropertyName$, "$FriendlyName$", new SmartDate());
  public string $PropertyName$
  {
    get { return GetPropertyConvert<SmartDate, string>($PropertyName$Property); }
    set { SetPropertyConvert<SmartDate, string>($PropertyName$Property, value); }
  }]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>